package com.lizheng.yunservice.wx.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.Date;


/**
 * @author 47967
 */
@Data
@TableName("wx_user")
@NoArgsConstructor
public class WxUser implements Serializable {
    /**
     * 微信用户ID
     */
    @TableId(value = "wx_user_id",type = IdType.AUTO)
    private Long wxUserId;
    /**
     * openId
     */
    @NotEmpty
    private String openId;
    /**
     * username
     */
    private String username;
    /**
     * 微信应用id
     */
    @NotEmpty
    private String appId;
    /**
     * 用户昵称
     */
    private String nickName;
    /**
     * 用户头像
     */
    private String avatarUrl;
    /**
     * 生日
     */
    @JsonFormat(timezone="GMT+8",pattern="yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;
    /**
     * 用户所在国家
     */
    private String country;
    /**
     * 用户所在省份
     */
    private String province;
    /**
     * 省份ID
     */
    private Integer provinceId;
    /**
     * 城市ID
     */
    private Integer cityId;
    /**
     * 城市名称
     */
    private String city;
    /**
     * 区县ID
     */
    private Integer districtId;
    /**
     * 区县名称
     */
    private String district;
    /**
     * 真实姓名
     */
    private String realName;
    /**
     * unionId
     */
    private String unionId;
    /**
     * 性别（0：男、1：女、2：未知）
     */
    private Integer gender;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 注册时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd", iso = DateTimeFormat.ISO.DATE)
    private Date createTime;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 浏览量
     */
    private Integer viewCount;
    /**
     * 关注量
     */
    private Integer followCount;
    /**
     * 评论量
     */
    private Integer commentCount;
    /**
     * 点赞量
     */
    private Integer likesCount;
    /**
     * 转发量
     */
    private Integer forwardCount;

    private static final long serialVersionUID = 1L;

}
